
class ForceGenerator:
    '''An abstract class to be inherited by force generators.  Force
    generators apply a force to a given particle.'''

    def __init__(self, _all_particles, generator_name):
        # pass in the list of particles, in case the generator needs it
        self._all_particles = _all_particles
        self.generator_name = generator_name

    def act_on_particle(self, particle):
        '''Apply a force to the particle given the other particles and
        its attributes.'''
    
    def starting_run(self):
        '''Called when the 'universe' starts updating particles.'''

    def show(self):
        '''Print information about the current force on the screen'''
        print("\nForce Name:", self.generator_name)
